#ifndef ACTION_H
#define ACTION_H

#include <utils/DynamicClass.h>

class Action : private DynamicClass
{
public:

    bool act() = 0;
    
    template <class T>
    T& getVar(String sVar) { return DynamicClass::getVar<T>(sVar); }

};

/*
class ActionMove : public Action
{
public:
    ActionMove()
    {
        addVar<Entity*>("object", object);
        addVar<Vector3D>("newpos", newpos);
    }
    
    bool act()
    {
        getVar("object")->getVar("pos") = getVar("newpos");
    }
};
*/

#endif
